I. Field
The present disclosure relates generally to circuits, and more specifically to a graphics system.
II. Background
Graphics systems are widely used to render 2-dimensional (2-D) and 3-dimensional (3-D) images for various applications such as video games, graphics, computer-aided design (CAD), simulation and visualization tools, imaging, etc. A 3-D image may be modeled with surfaces, and each surface may be approximated with polygons (typically triangles). The number of triangles used to represent a 3-D image is dependent on the complexity of the surfaces as well as the desired resolution of the image and may be quite large, e.g., in the millions. Each triangle is defined by three vertices, and each vertex is associated with various attributes such as space coordinates, color values, and texture coordinates. Each attribute may have up to four components. For example, space coordinates are typically given by horizontal and vertical coordinates (x and y) and depth (z), color values are typically given by red, green, and blue (r, g, b), and texture coordinates are typically given by horizontal and vertical coordinates (u and v).
A graphics processor in a graphics system may perform various graphics operations to render a 2-D or 3-D image. The image is composed of many triangles, and each triangle is composed of picture elements (pixels). The graphics processor renders each triangle by determining the component values of each pixel within the triangle. The graphics operations may include rasterization, stencil and depth tests, texture mapping, shading, etc. Since the graphics processor performs various graphics operations on pixel data, which may be any data associated with pixels, the ability to quickly access the pixel data has a large impact on performance.